<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!--
ECMAScript:客户端脚本语言标准
1.基本语法:
     1.与html结合方式
          1.内部js:定义在<script>,标签体内容就是js代码
          2.外部js:定义在<script>,通过src属性引入外部的js文件
        注意:<script>可以定义在html页面的任何地方,但是定义的位置会影响执行顺序
             <script>可以定义多个
     2.注释:
          单行注释: //注释内容
          多行注释: /*注释内容*/
     3.数据类型:
         1.原始数据类型
            1.number:数字  分类:整数 小数  NAN(not a number 一个不是数字的数字类型)
            2.string:字符串  "abc" 'a'
            3.boolean:true和false
            4.null:一个对象为空的占位符
            5.undifined:未定义 如果一个变量没有给定初始化值,就会被默认复制为undefined
         2.引用数据类型:对象
     4.变量:
        概念:一小块存储数据的内存空间
        强类型:在开辟变量存储空间时,定义空间将来存储的数据类型.只能存储固定类型的数据
        弱类型:在开辟变量存储空间时,不定义空间将来存储的数据类型.可以存储任意类型的数据
              java语言是强类型语言,JavaScript是弱类型语言
        语法: var 变量名 = 初始化值;
        typeof运算符:获取变量的类型
                    注意:null运算后得到的是object
    5.运算符:
         1.一元运算符:只有一个运算数的预算符
                    分类: ++,--,+(正号),-(负号)
                         前++,--:先自增或自减,再运算
                         后++,--:先运算,再自增或自减
                         +(-):正负号:在js中如果运算数不少运算符所要的数据类型,那么js引擎会自动将运算数进行类型转换
                              String转number:按照字面值转换,如果字面值不是数字,则转为NAN
                              Boolean转number:true为1,false为0
         2.算数运算符:+,-,*,/,%...
                    注意:这里的除法和java不同,java取商,javaScript可以取小数
         3.赋值运算符: +=,-=,=...
         4.比较运算符:>,<,>=,<=,==,===(全等于)
                    1.其结果是Boolean值
                    2.比较方式:1.类型相同,直接比价
                               字符串:按照字典顺序比价,按位逐一比较,直到得出大小为值
                              2.类型不同,先进行类型转换.再比较
                                ===:全等于,在比较前,先判断类型,如果类型不一样,则返回false



         5.逻辑运算符: &&,||,!
              其他类型转为Boolean:
                   1.number: 0或者NAN为false, 其他为true
                   2.String:除了空字符串"",其他都为true
                   3.null和undifined:都是false
                   4.对象: 所有对象都是true

         6.三元运算符: 表达式 ? 值1:值2
                     判断表达式是否成立,true则取值1,false则取值2.
    6.流程控制语句:
         1.if...else
         2.switch:
                  注意:在java中,switch语句可以接受的数据类型:byte,int,short,char,枚举,String
                        switch(变量):
                              case 值:
                      在JS中,switch语句可以接受任意的原始数据类型
         3.while
         4.do...while
         5.for
    7.JS特殊语法:
         1.语句以;结尾,如果一行只有一条语句,则;可以省略不写(不建议)
         2.变量的定义使用var关键字,也可以不使用
            用: 定义的变量是局部变量
            不用:定义的变量是全局变量(不建议使用)

2.基本对象:
    function:描述函数
    Array
    Boolean
    Date
    Math
    Number
    String
    RegExp
    Global



 -->

    </head>
    <body>
        <script>
            //定义number类型
            var num =1;
            var num2=1.2;
            var num3= NaN;
            //输出到页面上
            document.write(num+"---"+typeof(num)+"<br>" )
            document.write(num2+"---"+typeof(num2)+"<br>" )
            document.write(num3+"---"+typeof(num3)+"<br>" )

            //定义String类型
            var str="123";
            var str2='bc';
            document.write(str+"---"+typeof(str)+"<br>" )
            document.write(str2+"---"+typeof(str2)+"<br>" )

            //定义boolean类型
            var flag=true;
            var flag2=false;
            document.write(flag+"---"+typeof(flag)+"<br>" )
            document.write(flag2+"---"+typeof(flag2)+"<br>" )

            //定义unll,undifined类型
             var obj= null;
             var obj2=undefined;
             var obj3;
            document.write(obj+"---"+typeof(obj)+"<br>" )
            document.write(obj2+"---"+typeof(obj2)+"<br>" )
            document.write(obj3+"---"+typeof(obj3)+"<br>" )





        </script>


    </body>
</html>